package br.cnpq.webflowah.adaptation;

public class AdaptationConstants {

	/*
	 * Weights (media ponderada) used in self-adaptation process to define the priorioty between:
	 * ExPQ: Execution Plan Quality: means the weight of Quality os execution plan(QoS/C) in the adaptation
	 * EfA: Efficient Adaptation: means the weight of adaptation influential factors in the adaptation
	 *
	 * So, this weighted average is used to define which execution plan will substitute the actual execution plan.
	 */


	//Types of adaptation's priority
	public final static int FULL_SERVICE_QUALITY = 1;
	public final static int SERVICE_QUALITY = 2;
	public final static int BALANCED = 3;
	public final static int EFFICIENT_ADAPTATION = 4;
	public final static int FULL_EFFICIENT_ADAPTATION = 5;

	//Weights for Full Service QUality configuration
	public final static double ExPQ_FULL_SERVICE_QUALITY = 1.0;
	public final static double EfA_FULL_SERVICE_QUALITY = 0.0;

	//Weights for Service QUality configuration
	public final static double ExPQ_SERVICE_QUALITY = 0.75;
	public final static double EfA_SERVICE_QUALITY = 0.25;

	//Weights for Balanced configuration
	public final static double ExPQ_BALANCED = 0.5;
	public final static double EfA_BALANCED = 0.5;

	//Weights for Efficient Adaptation configuration
	public final static double ExPQ_EFFICIENT_ADAPTATION = 0.25;
	public final static double EfA_EFFICIENT_ADAPTATION = 0.75;

	//Weights for Full Efficient Adaptation configuration
	public final static double ExPQ_FULL_EFFICIENT_ADAPTATION = 0.0;
	public final static double EfA_FULL_EFFICIENT_ADAPTATION = 1.0;

}
